home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / conv.z / conv
Text File  |  1996-03-14  |  5KB  |  133 lines

  1.  
  2.  
  3.  
  4. LLLLIIIIBBBBCCCCOOOONNNNVVVV((((3333FFFF))))                                                        LLLLIIIIBBBBCCCCOOOONNNNVVVV((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      conv, libconv, convolution, correlation - Convolution and Correlation
  10.      Library
  11.  
  12.  
  13. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  14.      LIBCONV is an optimized library available on Silicon Graphics computers.
  15.      It features Convolution for Finite Impulse Response (FIR) and Infinite
  16.      Impulse Response (IIR) filters, together with Correlations. The library
  17.      modules take 1D and 2D inputs, and are available in single and double
  18.      precision for real and complex arithmetic. The 2D subprograms have been
  19.      parallelized and take fully advantage of SGI parallel architecture.
  20.  
  21.      The two main goals of the Convolution and Correlation library are
  22.      performance and generality. It provides well tuned modules usable in most
  23.      convolution and correlation instances.
  24.  
  25.      To achieve maximum flexibility, 1D sequence are defined by 3 parameters,
  26.      while 6 parameters are necessary for 2D inputs. One drawback of this
  27.      versatility may come from the (very) long calling sequences (up to 23
  28.      parameters for sfir2d). To help the user, systematic conventions were
  29.      used for modules names, calling parameters and sequence definition.
  30.  
  31.  
  32. CCCC iiiinnnntttteeeerrrrffffaaaacccceeee
  33.      For the C interface two types "complex" and "zomplex" have been defined
  34.      as structures of two floating point variables ( re, im ).  They are
  35.      equivalent to the "complex" and "double complex" Fortran types.
  36.  
  37.                typedef struct {
  38.                    float re;
  39.                    float im;  } complex;
  40.  
  41.                typedef struct {
  42.                    double re;
  43.                    double im; } zomplex;
  44.  
  45.      These types as well as the prototypes of the different functions for
  46.      convolution and correlations are defined in the "/usr/include/conv.h"
  47.      header file.
  48.  
  49.  
  50.  
  51. NNNNAAAAMMMMIIIINNNNGGGG CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNNSSSS
  52.      The name of each Convolution and Correlation routine is a coded
  53.      specification of its function (6 or 7-character names).
  54.  
  55.      All driver and computational routines have names of the form XYYYMND
  56.  
  57.      The first letter, X, indicates the data type as follows:
  58.  
  59.            S  REAL
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. LLLLIIIIBBBBCCCCOOOONNNNVVVV((((3333FFFF))))                                                        LLLLIIIIBBBBCCCCOOOONNNNVVVV((((3333FFFF))))
  71.  
  72.  
  73.  
  74.            D  DOUBLE PRECISION
  75.            C  COMPLEX
  76.            Z  COMPLEX*16  or DOUBLE COMPLEX
  77.  
  78.      The next three letters, YYY, indicate the type of computation performed.
  79.      For example, ffffiiiirrrr for FIR convolution, iiiiiiiirrrr for IIR filtering, and ccccoooorrrr for
  80.      Correlation.
  81.  
  82.      The next two letters, MN,  are the dimension. MN can be a 1 or 2
  83.      character string: 1111 or 2222 for 1D and 2D modules, and MMMM1111 for "multiple 1D"
  84.      subprograms.
  85.  
  86.  
  87. SSSSUUUUMMMMMMMMAAAARRRRYYYY
  88.       ------------------------------------------------------------------
  89.      |           |                          |                           |
  90.      |           |        1 Dimension       |       2 Dimensions        |
  91.       ------------------------------------------------------------------
  92.      |           |  FIR   |  IIR   | Corre- |  FIR    |  IIR   | Corre- |
  93.      |           | filter | filter | lation | filter  | filter | lation |
  94.       ------------------------------------------------------------------
  95.      |           |        |        |        |         |        |        |
  96.      | Real      | sfir1d | siir1d | scor1d | sfir2d  | siir2d | scor2d |
  97.      | Single    |        |        |        | sfirm1d | siirm1d| scorm1d|
  98.      |           |        |        |        |         |        |        |
  99.      | Real      | dfir1d | diir1d | dcor1d | dfir2d  | diir2d | dcor2d |
  100.      | Double    |        |        |        | dfirm1d | diirm1d| dcorm1d|
  101.      |           |        |        |        |         |        |        |
  102.      | Complex   | cfir1d | ciir1d | ccor1d | cfir2d  | ciir2d | ccor2d |
  103.      | Double    |        |        |        | cfirm1d | ciirm1d| ccorm1d|
  104.      |           |        |        |        |         |        |        |
  105.      | Complex   | zfir1d | ziir1d | zcor1d | zfir2d  | ziir2d | zcor2d |
  106.      | Double    |                          | zcfirm1d| ziirm1d| zcorm1d|
  107.       ------------------------------------------------------------------
  108.  
  109.      For example:
  110.  
  111.          sfir1d applies a FIR filter to single precision real 1D signals,
  112.  
  113.          diir1d performs a IIR filtering on double precision 1D data,
  114.  
  115.          cfirm1d applies a 1D FIR filter for each column of a 2D single
  116.                  complex array, and
  117.  
  118.          zcor2d computes the correlation of 2D double complex sequences.
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.